Projecting patterns for high resolution texture extraction

ABSTRACT

Camera-based texture extraction in Augmented Reality (AR) systems is enhanced by manipulating projected patterns. One or more fine line patterns are projected onto a textured surface, a Moiré interference pattern measured, and different properties of the projected pattern(s) adjusted until the Moiré interference pattern measurements indicate that a similar texture pattern to that of the three dimensional target is being projected. Thereby, the target texture may be more closely matched even as sub-pixel resolutions, variable lighting conditions, and/or complicated geometries.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of International Patent ApplicationSerial No. PCT/US10/50863 filed on Sep. 30, 2010. The disclosures of theInternational Patent Application are hereby incorporated by referencefor all purposes.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

A variety of applications ranging from visual inspection to autonomousnavigation recognize objects in an image and compute their poses in athree dimensional scene. Many such applications employ a pre-storedmodel of an object for accurate detection. When objects are to bedetected without prior information, the task becomes more complex.Objects with textured surfaces render the task of object recognitioneven more complicated.

Augmented reality (AR) refers to a view of a physical (real) worldenvironment whose elements are augmented by virtual, typicallycomputer-generated, imagery, thereby creating a mixed reality. Theaugmentation may be conventionally in real time and in context withenvironmental elements, such a sporting event, a training exercise, agame, etc. AR technology enables the information about surrounding realworld of a person to become interactive and digitally usable by addingobject recognition and image generation. Artificial information aboutthe environment and the objects may be stored and retrieved as aninformation layer separate from a real world view layer.

Texture extraction may be employed for AR to allow more realisticintegration or recognition of real world objects. For textureextraction, projected patterns are sometimes used in order to determinethe three dimensional shape of objects. These patterns are often called“structured light” and can help extract the three dimensional shape offeatures on objects such as faces, castings, etc. Conventional systemstypically turn off or otherwise subtract out any projected image(s),sometimes removing (or cancelling) a complete three dimensional gridbefore texture processing. The texture is then calculated byspace/frequency analysis on the pixels in the image of the subject as itwould be without the projected patterns.

The present disclosure appreciates that there are numerous limitationswith texture extraction in AR systems. For example, textures below aresolution capability of a detection device (e.g., a camera) may not beextracted using conventional techniques.

SUMMARY

The present disclosure describes an Augmented Reality (AR) scene capturesystem capable of high resolution texture extraction. According to someexamples, the system may include a projector for projecting one or morefine-lined patterns on a three dimensional subject to be captured, acamera for capturing an image of the subject with the projectedpatterns, and a processor. The processor may determine a texturedportion of the subject, record local Moiré pattern pitches on thetextured portion of the subject, and adjust one or more properties ofthe projected patterns such that the projected patterns substantiallymatch the textured portion of the subject.

The present disclosure further provides a method for high resolutiontexture extraction in an Augmented Reality (AR) scene capture system.According to some examples, the method may include determining atextured portion of a three dimensional subject to be captured,extracting a three dimensional shape for the textured portion of thesubject, and projecting two fine-lined patterns on the textured portionof the subject. According to other examples, the method may furtherinclude recording local Moiré pattern images on the textured portion ofthe subject, selecting two or more Moiré patterns with pitches that areclear in the recorded images, and determining a pattern angle and aspatial frequency.

The present disclosure also describes a computer-readable storage mediumhaving instructions stored thereon for high resolution textureextraction in an Augmented Reality (AR) scene capture system. Accordingto some examples, the instructions may include determining a texturedportion of a three dimensional subject to be captured, extracting athree dimensional shape for the textured portion of the subject,projecting two fine-lined patterns on the textured portion of thesubject, recording local Moiré pattern images on the textured portion ofthe subject, and selecting two or more Moiré patterns with pitches thatare clear in the recorded images. According to other examples, themethod may further include determining a pattern angle and a spatialfrequency, rotating the projected two fine-lined patterns over eachother, and iteratively generating new projected patterns that match atexture of the textured portion of the subject in finer detail anddetermining a new pattern angle and spatial frequency at each iterationuntil a predefined pattern knowledge is achieved.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other features of this disclosure will become morefully apparent from the following description and appended claims, takenin conjunction with the accompanying drawings. Understanding that thesedrawings depict only several embodiments in accordance with thedisclosure and are, therefore, not to be considered limiting of itsscope, the disclosure will be described with additional specificity anddetail through use of the accompanying drawings, in which:

FIG. 1 illustrates an example Augmented Reality (AR) system, whereprojected patterns may be employed for high resolution textureextraction;

FIG. 2 illustrates an example pattern projection and capture system forhigh resolution texture extraction;

FIG. 3 illustrates another example pattern projection and capture systemfor high resolution texture extraction;

FIG. 4 illustrates how patterns below the resolution of a camera may bediscerned employing two sets of similar lines at an angle and rotatingthe line sets;

FIG. 5 illustrates a geometric approach to high resolution textureextraction employing two superimposed patterns of parallel andequidistant lines;

FIG. 6 illustrates a general purpose computing device, which may be usedto extract high resolution texture information employing projectedpatterns;

FIG. 7 illustrates a processor, which may be used to extract highresolution texture information employing projected patterns;

FIG. 8 is a flow diagram illustrating an example method for textureextraction that may be performed by a computing device, such as computer600 in FIG. 6 or special purpose processor 710 in FIG. 7; and

FIG. 9 illustrates a block diagram of an example computer programproduct;

all arranged in accordance with at least some embodiments describedherein.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof In the drawings, similarsymbols typically identify similar components, unless context dictatesotherwise. The illustrative embodiments described in the detaileddescription, drawings, and claims are not meant to be limiting. Otherembodiments may be utilized, and other changes may be made, withoutdeparting from the spirit or scope of the subject matter presentedherein. It will be readily understood that the aspects of the presentdisclosure, as generally described herein, and illustrated in theFigures, can be arranged, substituted, combined, separated, and designedin a wide variety of different configurations, all of which areexplicitly contemplated herein.

This disclosure is generally drawn, inter alia, to methods, apparatus,systems, devices, and/or computer program products related to enhancingtexture extraction for augmented reality through manipulation ofprojected patterns.

Briefly stated, camera-based texture extraction in AR systems may beenhanced by manipulating projected patterns. According to some examples,a fine line pattern may be projected, a Moiré interference patternmeasured, and different properties of the projected pattern adjusteduntil the Moiré interference pattern measurements indicate that asimilar texture pattern to that of the three dimensional target is beingprojected. Thereby, the target texture may be more closely matched evenas sub-pixel resolutions.

FIG. 1 illustrates an example Augmented Reality (AR) system, whereprojected patterns may be employed for high resolution textureextraction arranged in accordance with at least some embodimentsdescribed herein. AR explores the application of computer-generatedimagery in live video streams to expand the real world presentation.Example AR systems arranged in accordance with the present disclosuremay be in controlled environments containing a number of sensors andactuators, may include one or more computing device adapted to processreal and computer-generated imagery, and may include visualizationsystems such as head-mounted displays, virtual retinal displays, monitoror similar regular displays, and comparable devices.

Example AR system 100 includes image sensors 104-1 for capturing liveimages of real scene (objects) 102, as well as tracking sensors 104-2for tracking a position and/or a motion of the objects. The imagesensors 104-1 may be digital cameras, webcams, or some other imagecapturing devices. The tracking sensors 104-2 may include a number ofreceiving devices arranged in a passive sensing network to enhancetracking performance through frequency, bandwidth, and spatial diversityof the network. The receiving devices (e.g., one or more RF receivers)may be adapted to utilize communication signals (e.g., electromagneticwaves such as RF signals) from nearby signal sources such ascommunication towers (e.g., cellular telephony communication towers) orcommunication base stations. The tracking sensors 104-2 may be locatedin different positions and may be communicatively coupled to acentralized or distributed computing system to form the collaborativenetwork.

The captured image(s) may be provided to an image processing sub-system106, which may be adapted to perform one or more of digitization ofimages into digital images, receipt of digital images, and/or processingdigital images. Processing of digital images may include one or more ofdetermining locations of feature points in the images, computation ofaffine projections, tracking of edges, filtering, and/or similaroperations. Image processing sub-system 106 may be configured to provideprojection information, such as one or more of the results of the abovedescribed operations, to reality engine 110. The tracking sensors 104-2may be configured to provide position and/or motion informationassociated with objects of interest in real scene 102 to the realityengine 110. The reality engine 110 may be adapted to execute a graphicsprocess to render scenes based on the captured images that incorporatesposition and/or motion information from the tracking sensors 104-2.

Image generator 108 may be adapted to receive reference image(s) fromthe image sensors 104-1 as well as image data associated with virtualobject(s), and may be adapted to overlay the captured real scene imageswith the image data associated with the virtual object(s) to provide anaugmented scene 114. Display 112 is one example of a visualizationmechanism that may be utilized in the AR system 100. A number of otherdisplay types, such as projectors, wearable displays, etc. may also beused to present the AR imagery to a user.

Processing for at least some of the components of the AR system 100 suchas the image processing sub-system 106, the reality engine 110, theimage generator 108, and/or the display 112 may be performed by separateapplications, one or more integrated applications, one or morecentralized services, or one or more distributed services on one or morecomputing devices. Each computing device may be either a general purposecomputing devices or a special purpose computing device that may be astandalone computer, a networked computer system, a general purposeprocessing unit (e.g., a micro-processor, a micro-controller, a digitalsignal processor or DSP, etc.), or a special purpose processing unit. Ifexecuted on different computing devices, various components of the ARsystem 100 may be adapted to communicate over one or more networks.

FIG. 2 illustrates an example pattern projection and capture system forhigh resolution texture extraction arranged in accordance with at leastsome embodiments described herein. Three dimensional feature extractionsystems typically include a camera 226, a projector 224, and imageprocessing capabilities (pattern recognition program 228) as shown indiagram 200.

A system according to at least some embodiments may employ thesecomponents to project a pattern onto a fine textured surface 222 of anobject 220 to enhance the visibility of textures by manipulatingprojected patterns. The projector 224 may project a fine line patternonto the textured surface 222. The camera 226 may capture an image ofthe textured surface 222 with the projected pattern. Pattern recognitionprogram 228 may measure a Moiré interference pattern and adjustdifferent properties of the projected pattern until the Moiréinterference pattern measurements indicate that a similar texturepattern to that of the three dimensional target (object 220) is beingprojected.

According to at least some embodiments, a mobile device or similarmechanism may be utilized to move the projector 224 for adjustingfeatures of the projected pattern such as an angle of orientation, awidth of projected lines, a compensation for surface coloration or threedimensional features, and similar ones. The resulting changes in theMoiré interference pattern image may be used to extract the pitch andorientation of the sub-pixel texture pattern enhancing obtained textureinformation. By modifying the patterns, a spatially varying texture mayalso be sequentially extracted. Beyond sub-resolution patterns, a systemaccording to embodiments may also be employed to analyze textures undervariable lighting conditions or complicated geometries. In some exampleimplementations, the projector 224 and the camera 226 may be integratedor installed on the same platform (e.g., a handheld device, avehicle-mount device, etc.) as shown in diagram 200.

FIG. 3 illustrates another example pattern projection and capture systemfor high resolution texture extraction arranged in accordance with atleast some embodiments described herein. Major components of a systemfor high resolution texture extraction for an AR environment depicted indiagram 300 may be similarly configured and perform likewise tasks assimilarly numbered components in diagram 200 of FIG. 2. Differently fromFIG. 2, projector 324 and camera 326 are independent in the system ofdiagram 300. Thus, the camera may capture images of the textured surface222 from a fixed perspective, while the projector 324 is moved to adjustproperties of the projected pattern such as orientation of the lines.Pattern recognition program 328 may control the movements of theprojector 324 automatically according to some example implementations.

Texture extraction by a system according to embodiments may begin withextracting a rough estimate of the three dimensional texture from athree dimensional feature computation. According to other examples, thesurface may be assumed to be relatively planar. Alternatively, theprojection may be three dimensionally corrected so that the computationsmay be performed at camera perspective as if the surface is nearlyplanar.

Projection of lines with a different pitch than the texture results in ahigh frequency visual component, which may be sub-pixel resolution, anda low frequency visual component, which is at a spatial frequency ofhalf the difference between the spatial frequencies of the two patterns.For example, if a corduroy fabric surface has about 2 mm pitch (spatialfrequency of about 5 cm⁻¹) and a projected pattern has lines with apitch of about 3 mm (spatial frequency of about 3.3 cm⁻¹), a virtualpattern in the aligned state may emerge at about 0.85 cm⁻¹ or about 1.17cm pitch—a size easier to see with a camera. This virtual pattern maythen change with rotation in a way that provides more equations thanunknowns so that true texture pitch and angle can be extracted.

FIG. 4 illustrates how patterns below the resolution of a camera may bediscerned employing two sets of similar lines at an angle, or one set oflines plus the texture of a material, and rotating the line setsarranged in accordance with at least some embodiments described herein.A typical Moiré pattern is made of an array of parallel lines, atapproximately pixel width. The pattern interacts with the textureelements at a sub-pixel level, creating a Moiré interference pattern. Bytilting the pattern (both in displacement as well as in rotation), thealignment, pitch, and/or shape of the sub-resolution texture can bedetermined.

Diagram 400 includes an example, where a projected first pattern 430 ofparallel lines is rotated into a second pattern 432 compared against apattern on the object texture to enhance texture extraction. Bothpatterns have the distance between lines p. The second pattern 432 isrotated by an angle α. From a distance, dark and pale lines (435, 434)can be seen. The pale lines 434 correspond to the lines of nodes, thatis, lines passing through the intersections of the two patterns 430 and432. If each cell 440 of the “net” formed by the intersecting patternsis a parallelogram with the four sides equal to d=p/sin α. Each cellincludes a right triangle with hypotenuse d and side p opposing theangle α. It should be noted that this type of pattern generation is inaddition to the effect of varying pitch and both approaches together canbe used to generate a pattern revealing smaller patterns as discussedbelow.

Sets of similar lines at an angle create a virtual pattern with largerfeatures than either pattern. If one pattern is the surface texture andthe other is a projected pattern, the projection enables the discerningof patterns that may be below the resolution of the camera. The virtualpattern changes during rotation of the projection so that the truesurface pattern may be extracted. If the true surface pattern is notformed by straight lines, the patterns may change in different areas atdifferent times and this may be used to extract the orientation andpitch of the pattern in each area.

The pale lines 434 correspond to the small diagonal of the rhombus. Asthe diagonals are the bisectors of the neighboring sides, the pale lineshave an angle equal to α/2 with the perpendicular of the lines of eachpattern. Additionally, the spacing between two pale lines is D, the halfof the big diagonal. The big diagonal 2D is the hypotenuse of a righttriangle and the sides of the right angle are d·(1+cosα) and p. Usingthe Pythagorean Theorem:

(2D)² =d ²·(1+cos α)² +p ²,   [1]

which can be transformed into:

(2D)²=2p ²·(1+cos α)/sin²α.   [2]

When α is very small (α<p/6), two approximations may be made: sin α≈αand cos α≈1. Thus:

D=p/α,   [3]

where α is in radians.

As α becomes smaller (patterns less rotated), the pale lines 434 becomefarther apart. When both patterns 430 and 432 are parallel (i.e., α=0),the spacing between the pale lines becomes infinite (i.e., there is nopale line). A camera with lower resolution than the texture can havelines (dark and light) to recognize even though the actual texture andMoiré pattern may be irresolvable grey. α may be determined using twodifferent techniques: by the orientation of the pale lines 434 and bytheir spacing (α=p/D).

If the angle is measured, the final error may be proportional to themeasurement error. If the spacing is measured, the final error may beproportional to the inverse of the spacing. Thus, for smaller angles,measuring the spacing may yield more accurate results. Moreover,multiple sets of virtual patterns may be obtained by varying thefrequency and/or angle of the projected lines. Two patterns are requiredto extract the underlying texture size with certainty as there are highand low frequency virtual patterns as discussed above.

FIG. 5 illustrates a geometric approach to high resolution textureextraction employing two superimposed patterns of parallel andequidistant lines arranged in accordance with at least some embodimentsdescribed herein. According to some embodiments, a geometric approachmay be employed in texture extraction. Diagram 500 illustrates twopatterns 542 and 544 formed by parallel and equidistant lines. The linesof the first pattern 544 are separated by p and the lines of the secondpattern 542 are separated by p+δp, where δ has a value between 0 and 1.

If the lines of the patterns are superimposed at the left portion of thefigure, the shift between the lines increases when going to the right.After a number of lines, the patterns are opposed (i.e., the lines ofthe second pattern 542 are between the lines of the first pattern 544).From a far distance, pale zones become visible when the lines aresuperimposed (white area between the lines) and dark zones when thelines are “opposed”. The middle of the first dark zone appears when theshift is equal to p/2. The nth line of the second pattern 542 is shiftedby n·δp compared to the nth line of the first pattern. The middle of thefirst dark zone thus corresponds to:

n·δp=p/2,   [4]

from which n can be expressed as:

n=p/(2δp).   [5]

The distance d between the middle of a pale zone and a dark zone canthen be expressed as:

d=n·p=p ²/(2δp).   [6]

Thus, the distance between the middle of two dark zones, which is alsothe distance between two pale zones, can be expressed as:

2d=p ²/(δp).   [7]

From formula [7], one can deduce that the bigger the separation betweenthe lines, the bigger the distance between the pale and dark zones andthe bigger the discrepancy δp, the closer the dark and pale zones. Agreat spacing between dark and pale zones means that the patterns havevery close line distances. When p=p/2, a uniformly grey figure isobtained with no contrast.

According to other embodiments, an interferometric approach may also beemployed. For the interferometric approach, two transparent patternswith a contrast I that varies with a sinusoidal law may be considered:

I ₁(x)=I ₀·sin (2πk ₁ x)   [8]

I ₂(x)=I ₀·sin (2πk ₂ x),   [9]

wherethe distances between the lines of the patterns are respectively p₁=l/k₁and p₂=l/k₂. When the patterns are superimposed, the resulting intensity(or interference) may be expressed as:

I(x)=I ₀·[sin (2πk ₁ x)+sin (2πk ₁ x)].   [10]

Using Euler's formula, the interference may be expressed as:

I(x)=I ₀·2 cos (2πx(k ₁ −k ₂)/2)·sin (2πx(k ₁ +k ₂)/2.   [11]

The resulting intensity includes a sinusoid of a high “spatialfrequency” (wave number), which is the average of the spatialfrequencies of the two patterns, and a sinusoid of a low spatialfrequency, which is the half of the difference between the spatialfrequencies of the two patterns. The second component is an “envelope”for the first sinusoid. The wavelength of this component is the inverseof the spatial frequency:

l/λ=(k ₁ −k ₂)/2·(l/p ₁ −l/p ₂)/2.   [12]

If p₁ and p₂ are written in δp form as p₁=p and p₂=p+δp, the wavelengthcan be expressed as:

λ=2·p ₁ p ₂/(p ₂ −p ₁)≈p ²/2δp.   [13]

The distance between the zeros of this envelope is spaced by l/2, andthe maxima of amplitude are also spaced by l/2. Thus, the same resultsas the geometric approach may be obtained with a discrepancy of p/2,which is the uncertainty linked to the reference that is consideredfirst pattern or second pattern. The discrepancy becomes negligible whenδp<<p. Thus, angle data is not necessarily needed for the threedifferent approaches (e.g. it is known that the target has verticallines). The projected image may be employed as one of the patterns.

FIG. 6 illustrates a general purpose computing device, which may be usedto extract high resolution texture information employing projectedpatterns arranged in accordance with at least some embodiments describedherein.

Computer 600 includes a processor 610, a memory 620, and one or moredrives 630. The drives 630 and their associated computer storage mediasuch as removable storage media 634 (e.g., CD-ROM, DVD-ROM) andnon-removable storage media 632 (e.g., a hard drive disk), may providestorage of computer readable instructions, data structures, programmodules and other data for the computer 600. The drives 630 may includean operating system 640, application programs 650, program modules 660,and database 680. The computer 600 further may include user inputdevices 690 through which a user may enter commands and data. The inputdevices 690 may include an electronic digitizer, a microphone 696, akeyboard 694, and a pointing device such as a mouse device 692,trackball device or touch pad device. Other input devices may include ajoystick device, game pad device, satellite dish, scanner device, or thelike.

The application programs 650 may include a projection application 652and a pattern recognition application 654. The projection application652 may generate, modify, and/or control projection of pattern sets ontextured surfaces to extract texture from three dimensional objects inAR applications. The pattern recognition application 654 may processcaptured images compute Moiré interference patterns and provide feedbackto the projection application 652 in order to adjust the patterns andenhance the obtained information iteratively.

The above described and other input devices may be coupled to aprocessor 610 through a user input interface that is coupled to a systembus 605, but may be coupled by other interface and bus structures, suchas a parallel port, game port or a universal serial bus (USB). Computerssuch as the computer 600 may also include other peripheral outputdevices such as speakers 676, printer 674, display 672, andcommunication module 678, which may be coupled through an outputperipheral interface 670 or the like. The communication module 678 maybe used to communicate with a projector and/or a mobile platformcontrolling the projector to adjust different properties of theprojected patterns.

The memory 620, removable storage devices 634 and non-removable storagedevices 632 are examples of computer storage media. Computer storagemedia includes, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which maybe used to store the desired information and which may be accessed bythe computer 600. Any such computer storage media may be part of thecomputer 600.

The computer 600 may operate in a networked environment using logicalconnections to one or more computers, such as a remote computerconnected to network interface 606. The remote computer may be apersonal computer, a server, a router, a network PC, a peer device orother common network node, and can include many or all of the elementsdescribed above relative to the computer 600. Networking environmentsare commonplace in offices, enterprise-wide area networks (WAN), localarea networks (LAN), intranets and world-wide networks such as theInternet. For example, in the subject matter of the present application,the computer 600 may comprise the controller machine from which data isbeing migrated to multilayer circuit board manufacturing systems such asautomatic drill systems, etching systems, etc., and the remote computermay comprise controllers of the systems. It should be noted, however,that source and destination machines need not be coupled together by anetwork(s) 608 or any other means, but instead, data may be migrated viaany media capable of being written by the source platform and read bythe destination platform or platforms. When used in a LAN or WLANnetworking environment, computer 600 may be coupled to the LAN throughthe network interface 606 or an adapter.

The network(s) may comprise any topology employing servers, clients,switches, routers, modems, Internet service providers (ISPs), and anyappropriate communication media (e.g., wired or wirelesscommunications). A system according to some embodiments may have astatic or dynamic network topology. The network(s) may include a securenetwork such as an enterprise network (e.g., a LAN, WAN, or WLAN), anunsecure network such as a wireless open network (e.g., IEEE 802.11wireless networks), or a world-wide network such (e.g., the Internet).The network(s) may also comprise a plurality of distinct networks thatare adapted to operate together. The network(s) are adapted to providecommunication between the nodes described herein. By way of example, andnot limitation, the network(s) may include wireless media such asacoustic, RF, infrared and other wireless media.

The network communication link may be one example of a communicationmedia. Communication media may typically be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and may include any information delivery media. A “modulateddata signal” may be a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media may includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), microwave,infrared (IR) and other wireless media. The term computer readable mediaas used herein may include both storage media and communication media.

The computer 600 may be implemented as a portion of a small-form factorportable (or mobile) electronic device such as a portable computingdevice, a mobile computing device, an application specific device, or ahybrid device that include any of the above functions. The computer 600may also be implemented as a personal computer including both laptopcomputer and non-laptop computer configurations. Moreover, the computer600 may be implemented as a networked system or as part of a generalpurpose or specialized server.

FIG. 7 illustrates a processor, which may be used to extract highresolution texture information employing projected patterns arranged inaccordance with at least some embodiments described herein. Processor710 of diagram 700 may be part of a computing device communicativelycoupled to one or more modules responsible for projecting patterns ontoa textured surface of an object to be recognized, extracting texture(s)from the projected surfaces, adjusting projection parameters, etc.

The processor 710 may include a number of modules for controllingdifferent aspects of projecting patterns for high resolution textureextraction. The modules may include a projection control module 730 forprojecting fine line patterns with adjustable parameters onto a texturedsurface, an image capture module 740 for capturing images of thetextured surface with the projected patterns, and a pattern recognitionmodule 750 for processing captured images, measuring Moiré interferencepatterns, and adjusting projected patterns for finer detection.

Memory 720 may be configured to store instructions for the controlmodules of the processor 710, which may be implemented as hardware,software, or combination of hardware and software. The processor 710 maycommunicate through direct electrical coupling or through networkedcommunications (e.g., network(s) 790) with other computing devicesand/or data stores such as storage facility 780.

Example embodiments may also include methods. These methods can beimplemented in any number of ways, including the structures describedherein. One such way is by machine operations, of devices of the typedescribed in the present disclosure. Another optional way is for one ormore of the individual operations of the methods to be performed inconjunction with one or more human operators performing some of theoperations while other operations are performed by machines. These humanoperators need not be collocated with each other, but each can be onlywith a machine that performs a portion of the program. In otherexamples, the human interaction can be automated such as by pre-selectedcriteria that are machine automated.

FIG. 8 is a flow diagram illustrating an example method for textureextraction that may be performed by a computing device, such as thecomputer 600 in FIG. 6 or the processor 710 in FIG. 7 in accordance withat least some embodiments. The operations described in blocks 822through 836 may be stored as computer-executable instructions in acomputer-readable medium such as the drives 640 of the computer 600 orthe memory 720 of the processor 710.

A process of high resolution texture extraction by projecting patternsmay begin with operation 822, “DETERMINE FINE TEXTURE SUBJECT.” Atoperation 822, a three dimensional object to be modeled for an AR systemmay be determined along with fine textured surfaces of the object. Acamera such as the camera 226 of FIG. 2 may be used to detect theobject. The textured surface of the object may have multipleorientations and pitches. Furthermore, the system may be positioned suchthat a projector (e.g., the projector 224) of the system can projectpredefined and adjustable patterns on the fine textured surfaces.

At optional operation 824, “EXTRACT 3D SHAPE AND GENERATE CORRECTIVEMATRIX”, the three dimensional shape of the object may be extracted,possibly using three dimensional structured light techniquesincompatible with conventional texture extractions. The threedimensional shape may be used to generate a correction matrix for thefollowing operations to compensate for three dimensional shape.

At operation 826, “PROJECT FINE LINES AND ROTATE”, following operation824, projector 224 may project a fine lined pattern such as pattern 430and rotate it. The fine lines may be straight, bent, or curved linesdepending on a surface shape of the object (e.g., curved lines forcurved objects). At subsequent operation 828, “RECORD LOCAL MOIRÉPATTERN PITCHES”, the Moiré pitches may be recorded. As discussedpreviously, a typical Moiré pattern 500 is made of an array of parallellines, at approximately pixel width. The pattern interacts with thetexture elements at a sub-pixel level, creating a Moiré interferencepattern. By tilting the pattern (both in displacement as well as inrotation), the alignment, pitch, and shape of the sub-resolution texturecan be determined

At operation 830, “FOR EACH SUB-AREA OF TEXTURE CHOOSE TWO OR MORE MOIRÉPATTERNS WITH CLEAR PITCHES”, following operation 828, the system maychoose at least two images for each sub-area that contain clear Moirépatterns. The selection may be performed sequentially or with differentcolors as long as they are separable. At next operation 832, “DETERMINEPATTERN ANGLE AND FREQUENCY”, the system may compute spatial frequencyand pattern orientation for each sub area as discussed above.Optionally, the resulting information on pattern pitch and angle may beused to build a new set of fine lines that more closely match thetexture 222 of the object 220 at operation 834, “GENERATE NEW FINE LINEPROJECTION BASED ON KNOWN ANGLE AND FREQUENCY.” The new pattern may beprojected by projector 224 onto the textured surface for a new set ofmeasurements by the camera 226 and the pattern recognition program 228in an iterative manner as shown by operation 836, “REPEAT UNTIL DESIREDDEGREE ACHIEVED.” This iterative cycle of projecting the pattern andre-measuring may evolve to closely match complicated curving or changingpatterns such that even complex texture patterns at sub-resolution sizessuch as engraving or intaglio may be extracted.

According to other embodiments, additional modifications may beperformed. Such modifications may include, but are not limited to,adjusting the width of the projected lines, adjusting the linear shapeof the lines to account for curvature in the feature which may bedetected by shifts in the virtual line patterns, curving the pattern toaccount for their expected distortion given the known three dimensionalcontour of the surface having the texture of interest, and/or curvingthe pattern to match detected curvature in the texture. The capturedMoiré interference pattern may then be converted to a sub-resolutionimputed texture map, which can be further analyzed using a variety oftexture classification techniques.

The operations included in the above described process are forillustration purposes. High resolution texture extraction in AR systemsusing pattern projection and capture may be implemented by similarprocesses with fewer or additional operations. In some examples, theoperations may be performed in a different order. In some otherexamples, various operations may be eliminated. In still other examples,various operations may be divided into additional operations, orcombined together into fewer operations.

FIG. 9 illustrates a block diagram of an example computer programproduct arranged in accordance with at least some embodiments describedherein. In some examples, as shown in FIG. 9, computer program product900 may include a signal bearing medium 902 that may also includemachine readable instructions 904 that, when executed by, for example, aprocessor, may provide the functionality described above with respect toFIG. 6 and FIG. 7. Thus, for example, referring to the processor 710,the modules 730, 740, and 750 may undertake one or more of the tasksshown in FIG. 9 in response to instructions 904 conveyed to theprocessor 710 by the medium 902 to perform actions associated withcontrolling high resolution texture extraction through projectedpatterns as described herein. Some of those instructions may includeprojecting fine lines and rotating, determining pattern angle andfrequency from clear or dark pitches, and iteratively refining theprojected lines.

In some implementations, the signal bearing medium 902 depicted in FIG.9 may encompass a computer-readable medium 906, such as, but not limitedto, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD),a digital tape, memory, etc. In some implementations, signal bearingmedium 902 may encompass a recordable medium 908, such as, but notlimited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In someimplementations, the signal bearing medium 902 may encompass acommunications medium 910, such as, but not limited to, a digital and/oran analog communication medium (e.g., a fiber optic cable, a waveguide,a wired communications link, a wireless communication link, etc.). Thus,for example, program product 900 may be conveyed to one or more modulesof the processor 910 by an RF signal bearing medium, where the signalbearing medium 902 is conveyed by a wireless communications medium 910(e.g., a wireless communications medium conforming with the IEEE 802.11standard).

The present disclosure presents an augmented Reality (AR) scene capturesystem capable of high resolution texture extraction. According to someembodiments, the system may include a projector 224 configured toproject at least one fine-lined pattern 430 on a three dimensionalsubject to be captured, a camera 226 configured to capture an image ofthe subject with the projected patterns, and a processor 910. Theprocessor may determine a textured portion of the subject 222, recordlocal Moiré pattern pitches on the textured portion of the subject 828,and adjust one or more properties of the projected patterns such thatthe at least one projected patterns 430 substantially match the texturedportion of the subject 222.

According to other embodiments, the properties of the at least oneprojected pattern 430 may include an angle of orientation, a width, acompensation for surface coloration, and/or a three dimensional feature.The processor 910 may extract a pitch and an orientation of a texturepattern of the textured portion 222 of the subject from changes in theMoiré patterns. Furthermore, the camera 226 and the projector 224 may beintegrated into a mobile device whose motion is controlled by theprocessor 910.

According to further embodiments, the processor may vary the at leastone projected fine-lined pattern 430 for sequential extraction ofspatially varying texture on the textured portion 222 of the subject,and adjust the properties of the projected pattern 430 in order tocapture the textured portion 222 of the subject under varying lightingconditions. The projected pattern 430 may include parallel lines, wherethe processor adjusts a linear shape of the lines to account forcurvature in a feature of the textured portion 222 of the subject. Theprocessor may also curve the projected pattern 430 to account for anexpected distortion based on a three dimensional contour of a surface ofthe textured portion 222 of the subject. Moreover, the processor maycurve the projected patterns to match a detected curvature in a textureof the textured portion 222 of the subject.

The present disclosure also presents a method for high resolutiontexture extraction in an Augmented Reality (AR) scene capture system100. The method may include determining a textured portion of a threedimensional subject to be captured 822, extracting a three dimensionalshape for the textured portion of the subject 824, projecting afine-lined pattern on the textured portion of the subject 826, recordinglocal Moiré pattern images on the textured portion of the subject 828,selecting two or more Moiré patterns with pitches that are clear in therecorded images 830, and determining a pattern angle and a spatialfrequency 832.

According to further examples, the method may further include generatinga new projected pattern that matches a texture of the textured portionof the subject in finer detail employing the pattern angle and thespatial frequency 834 and iteratively generating new projected patternsthat match a texture of the textured portion of the subject in finerdetail and determining a new pattern angle and spatial frequency at eachiteration until a predefined pattern knowledge is achieved 836.

According to yet other examples, the method may also include generatinga corrective matrix based on the extracted three dimensional shape forthe textured portion of the subject 824 and rotating the projectedfine-lined pattern over the textured portion. The projected fine-linedpattern 430 may have a different pitch than that of a texture of thetextured portion 222 of the subject providing a high frequency visualcomponent and a low frequency visual component. The high frequencyvisual component may provide a sub-pixel resolution and the lowfrequency visual component may provide a spatial frequency of about halfa difference between spatial frequencies of the projected patterns 430,432 and the texture of the textured portion 222 of the subject.

The present disclosure further presents a computer-readable storagemedium 906 having instructions 904 stored thereon for high resolutiontexture extraction in an Augmented Reality (AR) scene capture system100. According to some examples, the instructions may includedetermining a textured portion of a three dimensional subject to becaptured 822, extracting a three dimensional shape for the texturedportion of the subject 824, projecting two fine-lined patterns on thetextured portion of the subject 826, recording local Moiré patternimages on the textured portion of the subject 828, selecting two or moreMoiré patterns with pitches that are clear in the recorded images 830,and determining a pattern angle and a spatial frequency 832. Accordingto other examples, the projected patterns may be projected sequentiallyand the instructions may also include rotating the projected twofine-lined patterns over each other 826 and iteratively generating newprojected patterns that match a texture of the textured portion of thesubject in finer detail and determining a new pattern angle and spatialfrequency at each iteration until a predefined pattern knowledge isachieved 834, 836.

According to further examples, the instructions may include modifyingone or more of an angle of orientation, a width, a compensation forsurface coloration, and/or a three dimensional feature of the projectedpatterns 430, 432. A system according to example embodiments may alsoperform one or more of adjusting a width of lines in the projectedpatterns 430, 432; adjusting a linear shape of the lines of theprojected patterns 430, 432 to account for curvature in a feature of thetextured portion 222 of the subject; curving the projected patterns 430,432 to account for an expected distortion based on a three dimensionalcontour of a surface of the textured portion 222 of the subject; and/orcurving the projected patterns 430, 432 to match a detected curvature ina texture of the textured portion 222 of the subject. According to yetother examples, the instructions may include converting the Moirépatterns to a sub-resolution imputed texture map and analyzing thetexture map employing a texture classification approach.

There is little distinction left between hardware and softwareimplementations of aspects of systems; the use of hardware or softwareis generally (but not always, in that in certain contexts the choicebetween hardware and software may become significant) a design choicerepresenting cost vs. efficiency tradeoffs. There are various vehiclesby which processes and/or systems and/or other technologies describedherein may be effected (e.g., hardware, software, and/or firmware), andthat the preferred vehicle will vary with the context in which theprocesses and/or systems and/or other technologies are deployed. Forexample, if an implementer determines that speed and accuracy areparamount, the implementer may opt for a mainly hardware and/or firmwarevehicle; if flexibility is paramount, the implementer may opt for amainly software implementation; or, yet again alternatively, theimplementer may opt for some combination of hardware, software, and/orfirmware.

The foregoing detailed description has set forth various embodiments ofthe devices and/or processes via the use of block diagrams, flowcharts,and/or examples. Insofar as such block diagrams, flowcharts, and/orexamples contain one or more functions and/or operations, it will beunderstood by those within the art that each function and/or operationwithin such block diagrams, flowcharts, or examples may be implemented,individually and/or collectively, by a wide range of hardware, software,firmware, or virtually any combination thereof. In one embodiment,several portions of the subject matter described herein may beimplemented via Application Specific Integrated Circuits (ASICs), FieldProgrammable Gate Arrays (FPGAs), digital signal processors (DSPs), orother integrated formats. However, those skilled in the art willrecognize that some aspects of the embodiments disclosed herein, inwhole or in part, may be equivalently implemented in integratedcircuits, as one or more computer programs running on one or morecomputers (e.g., as one or more programs running on one or more computersystems), as one or more programs running on one or more processors(e.g., as one or more programs running on one or more microprocessors),as firmware, or as virtually any combination thereof, and that designingthe circuitry and/or writing the code for the software and or firmwarewould be well within the skill of one of skill in the art in light ofthis disclosure.

The present disclosure is not to be limited in terms of the particularembodiments described in this application, which are intended asillustrations of various aspects. Many modifications and variations canbe made without departing from its spirit and scope, as will be apparentto those skilled in the art. Functionally equivalent methods andapparatuses within the scope of the disclosure, in addition to thoseenumerated herein, will be apparent to those skilled in the art from theforegoing descriptions. Such modifications and variations are intendedto fall within the scope of the appended claims. The present disclosureis to be limited only by the terms of the appended claims, along withthe full scope of equivalents to which such claims are entitled. It isto be understood that this disclosure is not limited to particularmethods, materials, and configurations, which can, of course, vary. Itis also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only, and is not intendedto be limiting.

In addition, those skilled in the art will appreciate that themechanisms of the subject matter described herein are capable of beingdistributed as a program product in a variety of forms, and that anillustrative embodiment of the subject matter described herein appliesregardless of the particular type of signal bearing medium used toactually carry out the distribution. Examples of a signal bearing mediuminclude, but are not limited to, the following: a recordable type mediumsuch as a floppy disk, a hard disk drive, a Compact Disc (CD), a DigitalVideo Disk (DVD), a digital tape, a computer memory, etc.; and atransmission type medium such as a digital and/or an analogcommunication medium (e.g., a fiber optic cable, a waveguide, a wiredcommunications link, a wireless communication link, etc.).

Those skilled in the art will recognize that it is common within the artto describe devices and/or processes in the fashion set forth herein,and thereafter use engineering practices to integrate such describeddevices and/or processes into data processing systems. That is, at leasta portion of the devices and/or processes described herein may beintegrated into a data processing system via a reasonable amount ofexperimentation. Those having skill in the art will recognize that atypical data processing system generally includes one or more of asystem unit housing, a video display device, a memory such as volatileand non-volatile memory, processors such as microprocessors and digitalsignal processors, computational entities such as operating systems,drivers, graphical user interfaces, and applications programs, one ormore interaction devices, such as a touch pad or screen, and/or controlsystems including feedback loops and control modules (e.g., adjustingpattern and image capture parameters of the system).

A typical data processing system may be implemented utilizing anysuitable commercially available components, such as those typicallyfound in data computing/communication and/or networkcomputing/communication systems. The herein described subject mattersometimes illustrates different components contained within, orconnected with, different other components. It is to be understood thatsuch depicted architectures are merely exemplary, and that in fact manyother architectures may be implemented which achieve the samefunctionality. In a conceptual sense, any arrangement of components toachieve the same functionality is effectively “associated” such that thedesired functionality is achieved. Hence, any two components hereincombined to achieve a particular functionality may be seen as“associated with” each other such that the desired functionality isachieved, irrespective of architectures or intermediate components.Likewise, any two components so associated may also be viewed as being“operably connected”, or “operably coupled”, to each other to achievethe desired functionality, and any two components capable of being soassociated may also be viewed as being “operably couplable”, to eachother to achieve the desired functionality. Specific examples ofoperably couplable include but are not limited to physically connectableand/or physically interacting components and/or wirelessly interactableand/or wirelessly interacting components and/or logically interactingand/or logically interactable components.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims (e.g., bodies of theappended claims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to embodiments containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should be interpreted to mean “at least one”or “one or more”); the same holds true for the use of definite articlesused to introduce claim recitations. In addition, even if a specificnumber of an introduced claim recitation is explicitly recited, thoseskilled in the art will recognize that such recitation should beinterpreted to mean at least the recited number (e.g., the barerecitation of “two recitations,” without other modifiers, means at leasttwo recitations, or two or more recitations).

Furthermore, in those instances where a convention analogous to “atleast one of A, B, and C, etc.” is used, in general such a constructionis intended in the sense one having skill in the art would understandthe convention (e.g., “ a system having at least one of A, B, and C”would include but not be limited to systems that have A alone, B alone,C alone, A and B together, A and C together, B and C together, and/or A,B, and C together, etc.). In those instances where a conventionanalogous to “at least one of A, B, or C, etc.” is used, in general sucha construction is intended in the sense one having skill in the artwould understand the convention (e.g., “ a system having at least one ofA, B, or C” would include but not be limited to systems that have Aalone, B alone, C alone, A and B together, A and C together, B and Ctogether, and/or A, B, and C together, etc.). It will be furtherunderstood by those within the art that virtually any disjunctive wordand/or phrase presenting two or more alternative terms, whether in thedescription, claims, or drawings, should be understood to contemplatethe possibilities of including one of the terms, either of the terms, orboth terms. For example, the phrase “A or B” will be understood toinclude the possibilities of “A” or “B” or “A and B.”

In addition, where features or aspects of the disclosure are describedin terms of Markush groups, those skilled in the art will recognize thatthe disclosure is also thereby described in terms of any individualmember or subgroup of members of the Markush group.

As will be understood by one skilled in the art, for any and allpurposes, such as in terms of providing a written description, allranges disclosed herein also encompass any and all possible subrangesand combinations of subranges thereof Any listed range can be easilyrecognized as sufficiently describing and enabling the same range beingbroken down into at least equal halves, thirds, quarters, fifths,tenths, etc. As a non-limiting example, each range discussed herein canbe readily broken down into a lower third, middle third and upper third,etc. As will also be understood by one skilled in the art all languagesuch as “up to,” “at least,” “greater than,” “less than,” and the likeinclude the number recited and refer to ranges which can be subsequentlybroken down into subranges as discussed above. Finally, as will beunderstood by one skilled in the art, a range includes each individualmember. Thus, for example, a group having 1-3 cells refers to groupshaving 1, 2, or 3 cells. Similarly, a group having 1-5 cells refers togroups having 1, 2, 3, 4, or 5 cells, and so forth.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims.

1. An Augmented Reality (AR) scene capture system capable of highresolution texture extraction, the system comprising: a projectorconfigured to project at least one fine-lined pattern on a threedimensional object to be captured; a camera configured to capture animage of the object with the at least one projected pattern; a processorconfigured to: determine a textured portion of the object; record localMoiré pattern pitches on the textured portion of the object; and adjustone or more properties of the at least one projected pattern such thatthe at least one projected pattern substantially matches the texturedportion of the object; and a mobile device configured to move at leastone of the camera and the projector to adjust the one or more propertiesof the at least one projected pattern.
 2. The system according to claim1, wherein the one or more properties of the at least one projectedpattern include an angle of orientation, a width, a compensation forsurface coloration, and a three dimensional feature.
 3. The systemaccording to claim 1, wherein the processor is further configured toextract a pitch and an orientation of a texture pattern of the texturedportion of the object from changes in the Moiré patterns.
 4. The systemaccording to claim 1, wherein the camera and the projector areintegrated into the mobile device whose motion is controlled by theprocessor.
 5. The system according to claim 1, wherein the processor isfurther configured to vary the at least one projected pattern forsequential extraction of spatially varying texture on the texturedportion of the object.
 6. The system according to claim 1, whereinprocessor is further configured to adjust the properties of the at leastone projected pattern in order to capture the textured portion of theobject under varying lighting conditions.
 7. The system according toclaim 1, wherein the at least one projected pattern includes parallellines and the processor is further configured to adjust a linear shapeof the lines to account for curvature in a feature of the texturedportion of the object.
 8. The system according to claim 1, wherein theprocessor is further configured to curve the at least one projectedpattern to account for an expected distortion based on a threedimensional contour of a surface of the textured portion of the object.9. The system according to claim 1, wherein the processor is furtherconfigured to curve the at least one projected pattern to match adetected curvature in a texture of the textured portion of the object.10. A method for high resolution texture extraction in an AugmentedReality (AR) scene capture system, the method comprising: determining atextured portion of a three dimensional object to be captured;extracting a three dimensional shape for the textured portion of theobject; projecting a fine-lined pattern on the textured portion of theobject; recording local Moiré pattern images on the textured portion ofthe object; selecting two or more Moiré patterns with pitches that areclear in the recorded images; determining a pattern angle and a spatialfrequency of the patterns; and generating a new projected pattern thatmatches a texture of the textured portion of the object in finer detailemploying the pattern angle and the spatial frequency of the patterns bymoving at least one of a camera capturing the object and a projectorprojecting the fine-lined pattern through a mobile device. 11.(canceled)
 12. The method according to claim 10, further comprising:iteratively generating new projected patterns that match a texture ofthe textured portion of the object in finer detail and determining a newpattern angle and spatial frequency at each iteration until a predefinedpattern knowledge is achieved.
 13. The method according to claim 12,wherein the projected fine-lined patterns have a different pitch thanthat of a texture of the textured portion of the object providing a highfrequency visual component and a low frequency visual component.
 14. Themethod according to claim 13, wherein the high frequency visualcomponent provides a sub-pixel resolution and the low frequency visualcomponent provides a spatial frequency of about half a differencebetween spatial frequencies of the projected patterns and the texture ofthe textured portion of the object.
 15. The method according to claim10, further comprising: generating a corrective matrix based on theextracted three dimensional shape for the textured portion of theobject.
 16. The method according to claim 10, further comprising:rotating the projected fine-lined pattern over the textured portion. 17.A computer-readable storage medium having instructions stored thereonfor high resolution texture extraction in an Augmented Reality (AR)scene capture system, the instructions comprising: determining atextured portion of a three dimensional object to be captured;extracting a three dimensional shape for the textured portion of theobject; projecting two fine-lined patterns on the textured portion ofthe object; recording local Moiré pattern images on the textured portionof the object; selecting two or more Moiré patterns with pitches thatare clear in the recorded images; determining a pattern angle and aspatial frequency; rotating the projected two fine-lined patterns overeach other by moving a projector projecting the fine-lined patternthrough a mobile device; and iteratively generating new projectedpatterns that match a texture of the textured portion of the object infiner detail by moving a projector projecting the fine-lined patternthrough a mobile device and determining a new pattern angle and spatialfrequency at each iteration until a predefined pattern knowledge isachieved.
 18. The computer-readable storage medium according to claim17, wherein the two projected patterns are projected sequentially. 19.The computer-readable storage medium according to claim 17, wherein theinstructions further comprise: modifying one or more of an angle oforientation, a width, a compensation for surface coloration, and/or athree dimensional feature of the projected patterns by moving aprojector projecting the fine-lined pattern through a mobile device. 20.The computer-readable storage medium according to claim 17, wherein theinstructions further comprise performing one or more of: adjusting awidth of lines in the projected patterns; adjusting a linear shape ofthe lines of the projected patterns to account for curvature in afeature of the textured portion of the object; curving the projectedpatterns to account for an expected distortion based on a threedimensional contour of a surface of the textured portion of the object;and/or curving the projected patterns to match a detected curvature in atexture of the textured portion of the object.
 21. The computer-readablestorage medium according to claim 17, wherein the instructions furthercomprise: converting the Moiré patterns to a sub-resolution imputedtexture map; and analyzing the texture map employing a textureclassification approach.